1. Field of the Invention
The present invention relates to a program processing device and a program processing method for preferably acquiring a program such as a firmware or the like from an external program processing device and carrying out predetermined signal processing.
2. Description of the Related Art
In recent years, an LSI having a CPU and a signal processing circuit both mounted on the same chip is used. For example, in an LSI having a chip having a CPU and a signal processing circuit for signal processing such as sound signal decoding, both mounted thereon, the CPU controls the operations of the signal processing circuit and other peripheral circuit (for example, an interface circuit or the like) and also carries out processing other than the processing carried out by the signal processing circuit, according to a program.
FIG. 4 shows a structure of a conventional program processing device 300. The program processing device 300 comprises a CPU 302 for carrying out predetermined processing according to a program and an internal RAM 308 for storing the data generated by the CPU 302. The program processing device 300 is connected to a program memory 318 via an input/output interface 316, the program memory 318 storing a program to be carried out by the CPU 302. The program processing device 300 additionally comprises a debug processing circuit 310 for monitoring at least one variable contained in a program and carrying out predetermined processing according to the result obtained in the monitoring, and a debug interface 312 for sending a result of the processing carried out by the debug processing circuit 310 to a personal computer 200 which contains a debug tool 210.
After initialization of the CPU 302, a program is read from the program memory 318 via an external bus 320 and the input/output interface 316, and the CPU 302 carries out predetermined signal processing according to the program. The internal RAM 308 stores intermediate data or the like generated during the execution of the program. While the program processing device 300 includes a signal processing circuit (not shown), the CPU 302 controls the operation of the signal processing circuit according to the program.
An LSI having a signal processing circuit and a CPU integrally mounted on a single chip has a problem of low efficiency in verifying (debugging) a program in a development stage as the CPU bus and a controller are intensively accommodated inside the chip. In order to address the above, the program processing device 300 comprises a debug processing circuit 310 and a debug interface 312.
In debugging, the debug processing circuit 310 carries out a process, including initialization, suspension of the ongoing execution of a program, and resuming of a program on hold, relative to the program processing device 300, based on an instruction from the debug tool 210. Also, the debug processing circuit 310 stores a variable of the program in a register (not shown) of the debug processing circuit and monitors the variable by monitoring the internal bus 322. The debug processing circuit carries out predetermined processing according to the result obtained through the monitoring. The result obtained in the processing carried out by the debug processing circuit 310 is sent via the debug interface 312 and a debug communication line 220 to a personal computer 200. The developer of a program can check the result obtained by monitoring the variable, using the personal computer 200 which contains the debug tool 210, to verify the program.
The conventional program processing device 300 obtains a program from the program memory 318 connected thereto, and carries out predetermined signal processing. However, system diversification brings about the need for signal processing according to a program obtained from other than the program memory 318, though a conventional program processing device 300 connected to a program processing device other than the program memory 318 cannot carry out signal processing according to a program obtained from the program processing device connected.